Cálculo Polinomial

Neste problema, vamos explorar métodos para calcular derivadas e integrais simbólicas de polinômios.

1) Derivadas

Para esta questão, vamos representar os polinômios em $x$ como listas de coeficientes, começando com o coeficiente de ordem zero. Por exemplo, representaríamos $x^2$ como [0, 0, 1] e $4x^3+7x-8$ como [-8, 7, 0, 4].

Escreva um programa que calcule a derivada simbólica de um polinômio dado nesta forma.

A primeira linha de seu programa deve definir uma variável poly para conter o polinômio de entrada, na forma descrita acima. Quando executado, seu código deve atribuir a uma variável out uma única lista representando a derivada do polinômio fornecido, no mesmo formato.

Por exemplo, se o seu programa for executado com o polinômio a seguir (representando $\frac{1}{2}x^2$):

poly = [0, 0, 1/2]  # representando 1/2 x^2

então seu programa deve imprimir uma lista representando $x$:

[0, 1]

Notas

  • Você deve escolher alguns de seus polinômios favoritos e usá-los como casos de teste em sua própria máquina!
  • Para atribuir o valor apropriado a out no final, você terá que construir uma nova lista que eventualmente contenha os valores apropriados. Existem algumas estratégias que você pode empregar aqui:
    • Dada a operação específica que seu código está executando, você pode descobrir o comprimento que a lista de saída terá. Uma estratégia é fazer uma lista desse tamanho que contenha apenas zeros, ou Nones ou algo parecido e, em seguida, substituir as entradas dessa lista pelos valores apropriados.
    • Outra estratégia é começar com uma lista vazia [] e adicionar os valores apropriados um por um (via append).
  • Em alguns casos, pode ser útil percorrer os índices de uma lista, em vez dos elementos da lista. Se você quiser usar esta abordagem, uma boa maneira rápida de fazer um loop sobre esses valores é fazer, por exemplo, for index in range(len(my_list)) em vez de for value in my_list. Isso permite que você use o valor do índice na computação (o que pode ser útil), e você ainda pode obter o elemento associado via, por exemplo, my_list[index].

Submissão

Quando estiver pronto (depois de ter simulado manualmente e testado em sua própria máquina e estiver convencido de que seu programa fará a coisa certa), faça upload do seu arquivo Python no Problema 1.4.1 no Gradescope. Lembre de nomear seu arquivo p1_4_1.py.

2) Integrais

Agora vamos prosseguir para a integração simbólica de polinômios. Vamos representar os polinômios da mesma forma que usamos acima.

Para este programa, as duas primeiras linhas de seu programa devem definir duas variáveis: poly deve armazenar o polinômio de entrada (como antes), e const deve armazenar um único número.

Seu programa deve imprimir a lista de coeficientes associada à integral simbólica de poly, com a constante especificada const como o termo constante.

Como antes, você deve fazer um plano, escrever e simular à mão e depois executar e testar em sua própria máquina.

Submissão

Quando estiver pronto (depois de ter simulado manualmente e testado em sua própria máquina e estiver convencido de que seu programa fará a coisa certa), faça upload do seu arquivo Python no Problema 1.4.2 no Gradescope. Lembre de nomear seu arquivo p1_4_2.py.